﻿using System.Collections.Generic;
using System.ComponentModel;
using System.IO;

namespace KDG.FoldersSize
{
    public class DirInfo
    {
        private string name;
        private string fullPath;
        private long totalLenght;
        private long filesLenght;
        private List<DirInfo> folders;
        private long foldersCount;
        private List<FileInfo> files;
        private long filesCount;

        public DirInfo()
        {
            folders=new List<DirInfo>();
            files=new List<FileInfo>();
        }
        public DirInfo(string Name):this()
        {
            this.name = Name;
        }
        public DirInfo(string Name, string FullPath)
            : this(Name)
        {
            this.fullPath = FullPath;
        }
        public DirInfo(string Name, string FullPath, long TotalLenght, long FilesLenght) : this()
        {
            this.name = Name;
            this.fullPath = FullPath;
            this.totalLenght = TotalLenght;
            this.filesLenght = FilesLenght;
        }

        public string Name { get { return name; } set { name = value; } }
        public string FullPath { get { return fullPath; } set { fullPath = value; } }
        public long TotalLenght { get { return totalLenght; } set { totalLenght = value; } }
        public long FilesLenght { get { return filesLenght; } set { filesLenght = value; } }
        public List<DirInfo> Folders { get { return folders; } }
        public List<FileInfo> Files { get { return files; } }
        public long FilesCount { get { return filesCount; } set { filesCount = value; } }
        public long FoldersCount { get { return foldersCount; } set { foldersCount = value; } } 
    }
}
